/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntidadesController;

/**
 *
 * @author fernando
 */
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Grupo {

    private String grupo = "";
    private SQLException erro = new SQLException();
    static Connection conexao = null;
    static Statement estado = null;
    static ResultSet rs;
    private boolean render=false;
    private String msgerro;

    public boolean isRender() {
        return render;
    }

    public void setRender(boolean render) {
        this.render = render;
    }
    public String getMsgerro() {
        return msgerro;
    }

    public void setMsgerro(String msgerro) {
        this.msgerro = msgerro;
    }

    public Grupo() {
        conexao = new Conexao().Acesso();
    }

    public String inserir() throws SQLException {
        String result_inserir = "failure";
        try {
            estado = conexao.createStatement();
            estado.execute("INSERT INTO grupo(grupo) VALUES ('" + grupo + "')");
            estado.close();
            result_inserir = "success";
            render = false;
        } catch (SQLException e) {
            this.erro = e;
            msgerro = erro.getLocalizedMessage();

            if (msgerro.contains("pk_matriculadisc")&&msgerro.contains("unicidade"))
            {msgerro = "Esse número de matrícula ja está cadastrado!";}
           // estado.execute("ROLLBACK");
            estado.close();
            result_inserir = "failure";
            render = true;
        }
        System.out.println("grupo" + result_inserir);
        return result_inserir;
    }

    public String validar() throws SQLException {
        String result_validar = "failure";
        try {
            estado = conexao.createStatement();
            rs = estado.executeQuery("SELECT * FROM grupo WHERE grupo = '" + grupo + "'");
            if (rs.next()) {
                result_validar = "success";
            }
            rs.close();
            estado.close();
        } catch (SQLException e) {
            this.erro = e;
            result_validar = "failure";
        }
        return result_validar;
    }

    public String getErro() {
        return erro.getMessage();
    }
    public String getGrupo() {
        return grupo;
    }

    public void setGrupo(String grupo) {
        this.grupo = grupo;
    }

     /*
     * Este metodo retorna uma lista de strings, necessaria para exibir
     * a combobox na interface com o usuario e nao tda a tabela.
     */
    public List<String> getListaGrupo() {

        List<String> itens = new ArrayList<String>();

        try {

            estado = conexao.createStatement();

            rs = estado.executeQuery("SELECT * FROM Grupo");

            while (rs.next() == true) {

                // Unica coluna da tabela: variavel 'grupo';
                itens.add(rs.getString(1));
            }
            return itens;

        } catch (SQLException ex) {
            System.out.println("A tabela esta vazia.");
            Logger.getLogger(Curso.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }

    /*public static void main(String[] args) throws SQLException {
    Grupo a = new Grupo();
    a.setGrupo("docente");
    a.inserir();
    System.out.println("vali1"+ a.validar());
    a.setGrupo("docente");
    System.out.println("vali1"+ a.validar());

    }*/
}
